Formalizing a Framework for Dynamic Slicing of Program Dependence Graphs in Isabelle/HOL
نویسندگان
چکیده
Slicing is a widely-used technique with applications in e.g. compiler technology and software security. Thus verification of algorithms in these areas is often based on the correctness of slicing, which should ideally be proven independent of concrete programming languages and with the help of well-known verifying techniques such as proof assistants. As a first step in this direction, this contribution presents a framework for dynamic slicing based on control flow and program dependence graphs and machine checked in Isabelle/HOL. Abstracting from concrete syntax we base the framework on a graph representation of the program fulfilling certain structural and well-formedness properties.
منابع مشابه
Proving Information Flow Noninterference by Reusing a Machine-Checked Correctness Proof for Slicing
We present a machine-checked correctness proof for information flow noninterference based on interprocedural slicing. It reuses a correctness proof of the context-sensitive interprocedural slicing algorithm of Horwitz, Reps, and Binkley. The underlying slicing framework is modular in the programming language used; by instantiating this framework the correctness proofs hold for the respective la...
متن کاملFormalizing plane graph theory: towards a formalized proof of the Kepler conjecture
In 1998, Thomas Hales published a proof of the Kepler Conjecture, which states that the cubic close packing is the densest possible packing of equallysized spheres. The proof is by exhaustion on a set of 3050 plane graphs satisfying certain properties, called tame plane graphs. The enumeration of this set has been generated by a computer program, hence the completeness of this enumeration is es...
متن کاملFormalizing O Notation in Isabelle/HOL
We describe a formalization of asymptotic O notation using the Isabelle/HOL proof assistant.
متن کاملAn Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs
We propose a dynamic slicing algorithm to compute the slice of concurrent aspect-oriented programs. We use a dependence based intermediate program representation called Concurrent Aspect-oriented System Dependence Graph (CASDG) to represent a concurrent aspect-oriented program. The CASDG of an aspect-oriented program consists of a system dependence graph (SDG) for the non-aspect code, a group o...
متن کاملData Refinement for Verified Model-Checking Algorithms in Isabelle/HOL
Our goal is to verify model-checking algorithms with Isabelle/HOL. When regarding such algorithms on an abstract level, they often use nondeterminism like ”take an element from this set”. Which element is actually taken depends on the concrete implementation of the set. When formalizing these algorithms, one has to either fix the concrete implementation for the correctness proof, or describe th...
متن کامل